package com.legendshop.openportal.sdk.model.constants;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Objects;

/**
 * 绑定类型 1、主动创建，2、绑定外部开放平台账号，3、录入外部开放平台账号，4、获取小程序已绑定开放平台账号
 */
@Getter
@AllArgsConstructor
public enum ShopBindWeixinOpenPlatformBindType {

    /**
     * 主动创建
     * 直接调用微信接口创建开放平台账号，并绑定到小程序
     */
    CREATE(1),

    /**
     * 绑定外部开放平台账号
     * 已有开放平台账号，但未绑定到小程序
     * 需要指定开放平台账号的 appid
     */
    BIND_OPEN_PLATFORM(2),

    /**
     * 录入外部开放平台账号
     * 直接覆盖原来的开放平台账号配置
     * 需要指定开放平台账号的 appid
     */
    INPUT_OPEN_PLATFORM(3),

    /**
     * 获取小程序已绑定开放平台账号
     * 如果之前绑定过，则返回之前的开放平台账号信息
     * 如果没有绑定过，则调微信接口获取，并返回
     */
    GET_BIND_OPEN_PLATFORM(4),

    ;

    private final Integer value;

    public static ShopBindWeixinOpenPlatformBindType fromValue(Integer value) {
        for (ShopBindWeixinOpenPlatformBindType shopBindWeixinOpenPlatformBindType : ShopBindWeixinOpenPlatformBindType.values()) {
            if (Objects.equals(shopBindWeixinOpenPlatformBindType.value, value)) {
                return shopBindWeixinOpenPlatformBindType;
            }
        }
        return null;
    }
}